import { createApp } from 'vue'
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
//@ts-ignore
import App from '@/App.vue'

import ElementPlus from 'element-plus'
import 'element-plus/dist/index.css'
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
//@ts-expect-error
import zhCn from 'element-plus/dist/locale/zh-cn.mjs'

import 'virtual:svg-icons-register'

import '@/styles/index.scss'

import 'element-plus/theme-chalk/dark/css-vars.css'

//引入路由鉴权文件
import './permission'

const app = createApp(App);
app.use(ElementPlus,{
    locale: zhCn
})

import globalComponent from './components'
app.use(globalComponent)

import router from './router'
app.use(router)

import store from './store'
app.use(store)

import { isHasButton } from './directive/has'
isHasButton(app)

app.mount('#app')

Date.prototype.Format = function (fmt) {
    var o = {
        "M+": this.getMonth() + 1,  // 月份 
        "d+": this.getDate(),  // 日 
        "h+": this.getHours(),  // 小时 
        "m+": this.getMinutes(),  // 分 
        "s+": this.getSeconds(),  // 秒 
        "q+": Math.floor((this.getMonth() + 3) / 3),  // 季度 
        "S": this.getMilliseconds()  // 毫秒 
    };
    if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
    for (var k in o)
        if (new RegExp("(" + k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
    return fmt;
}